package com.xgk.boot.module.core.dal.iservice;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xgk.boot.framework.common.pojo.PageResult;
import com.xgk.boot.module.core.controller.admin.channel.vo.sp.SpApiRelaReqVO;
import com.xgk.boot.module.core.controller.admin.channel.vo.sp.SpPageReqVO;
import com.xgk.boot.module.core.controller.admin.channel.vo.sp.SpSaveReqVO;
import com.xgk.boot.module.core.controller.admin.channel.vo.sp.SpSelectNode;
import com.xgk.boot.module.core.dal.entity.channel.ApiServiceDO;
import com.xgk.boot.module.core.dal.entity.channel.ServiceProviderDO;

import java.util.List;

/**
 * <p>
 * 货币表 服务类
 * </p>
 *
 * @author yfbao
 * @since 2025-06-14
 */
public interface ServiceProviderService extends IService<ServiceProviderDO> {

    Long createSp(SpSaveReqVO createReqVO);

    void updateSp(SpSaveReqVO updateReqVO);

    PageResult<ServiceProviderDO> getSpPage(SpPageReqVO pageReqVO);

    void activeSp(Long asId, Integer asStatus);

    List<ServiceProviderDO> getSpSelectList();

    PageResult<ApiServiceDO> queryApiRelations(SpApiRelaReqVO pageReqVO);

    boolean unbindApi(Long spId, Long asId);

    boolean bindApi(Long spId, Long asId);

    List<ApiServiceDO> getApiSelectListNotInSp(Long spId);
    public List<SpSelectNode> buildProviderTree();
}
